home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / share / defoma / libdefoma-user.pl < prev    next >
Text File  |  2006-06-17  |  1KB  |  76 lines

  1. require("/usr/share/defoma/libdefoma-user2.pl");
  2.  
  3. my $Arg0 = $ARG0;
  4.  
  5. sub com_reconf {
  6.     mylock(0);
  7.  
  8.     @ds = get_files("\\.d\$", ROOTDIR);
  9.  
  10.     foreach my $d (@ds) {
  11.     $d =~ s/\.d$//;
  12.     system("/usr/bin/defoma-app", "-u", OPTIONS, "purge", $d);
  13.     }
  14.  
  15.     system("/bin/rm", "-r", ROOTDIR);
  16.  
  17.     exec("/usr/bin/defoma-user", "-u", OPTIONS, "update");
  18.  
  19.     exit 0;
  20. }
  21.  
  22. sub user_update_font {
  23.     mylock(1);
  24.     init_all();
  25.     
  26.     term_all();
  27.     mylock(0);
  28. }
  29.  
  30. sub com_update_font {
  31.     user_update_font();
  32.     exit 0;
  33. }
  34.  
  35. sub com_update {
  36.     user_update_font();
  37.     user_update();
  38.  
  39.     exit 0;
  40. }
  41.  
  42. sub user_update_invoke {
  43.     system("/usr/bin/defoma-app", OPTIONS, @_);
  44. }
  45.  
  46. sub user_update_message {
  47.     printm(@_);
  48. }
  49.  
  50. sub user_update_question {
  51.     print @_, "[Y/n] ";
  52.     my $a = <STDIN>;
  53.     chomp($a);
  54.  
  55.     return 1 if ($a eq 'Y' || $a eq 'y' || $a eq '');
  56.     return 0;
  57. }
  58.  
  59. sub main {
  60.     my $command = shift;
  61.  
  62.     unless (USERSPACE) {
  63.     exec($Arg0, "-u", ARGS);
  64.     }
  65.  
  66.     if ($command eq 'reconfigure') {
  67.     com_reconf();
  68.     } elsif ($command eq 'update') {
  69.     com_update();
  70.     } elsif ($command eq 'update-font') {
  71.     com_update_font();
  72.     }
  73. }
  74.     
  75. 1;
  76.